#!/bin/bash

# 配置项目目录（请根据实际情况修改）
PROJECT_DIR="/data/app/we-yan-agent"
CONFIG_DIR="/data/app"

# 检查文件是否存在
if [ -f "$PROJECT_DIR/feishu_token.yaml" ]; then
    rm "$PROJECT_DIR/feishu_token.yaml"
    echo "feishu_token.yaml文件删除成功！"
    # 将配置文件复制到服务器
    cp "$PROJECT_DIR/genie-tool/feishu_token.yaml" "$CONFIG_DIR/feishu_token.yaml"
    echo "feishu_token.yaml文件复制到服务器成功！"
else
    # 将配置文件复制到服务器
    cp "$PROJECT_DIR/genie-tool/feishu_token.yaml" "$CONFIG_DIR/feishu_token.yaml"
    echo "feishu_token.yaml文件复制到服务器成功！"
fi


# 检查项目目录是否存在
if [ ! -d "$PROJECT_DIR" ]; then
    echo "错误：项目目录 $PROJECT_DIR 不存在！"
    exit 1
fi

# 进入项目目录
cd "$PROJECT_DIR" || {
    echo "错误：无法进入项目目录 $PROJECT_DIR！"
    exit 1
}

# 1. 强制拉取代码
echo "🔄 开始强制拉取最新代码..."
if git pull; then
    echo "✅ 代码拉取成功"
    sh ChangeEnv.sh
    # 检查ChangeEnv.sh执行结果
    if [ $? -ne 0 ]; then
        echo "❌ ChangeEnv.sh 执行失败"
        exit 1
    fi
    # 将配置文件复制到项目目录
    rm "$PROJECT_DIR/genie-tool/feishu_token.yaml"
    cp "$CONFIG_DIR/feishu_token.yaml" "$PROJECT_DIR/genie-tool/feishu_token.yaml"
    echo "✅ 环境变量替换成功 执行成功"
    echo "feishu_token.yaml文件复制到项目中成功！"
else
    echo "❌ 代码拉取失败，是否继续重启服务？(y/n)"
    read -r answer
    if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
        echo "已取消重启操作"
        exit 1
    fi
fi

# 2. 执行停止服务脚本
echo "🛑 开始停止服务..."
if [ -f "stop.sh" ]; then
    sh stop.sh
    # 检查stop.sh执行结果
    if [ $? -ne 0 ]; then
        echo "❌ stop.sh 执行失败"
        exit 1
    fi
else
    echo "❌ 未找到可执行的 stop.sh"
    exit 1
fi

# 短暂等待，确保服务完全停止
sleep 3

# 3. 执行启动服务脚本
echo "🚀 开始启动服务..."
if [ -f "start.sh" ]; then
    sh start.sh
    # 检查start.sh执行结果
    if [ $? -ne 0 ]; then
        echo "❌ start.sh 执行失败"
        exit 1
    fi
else
    echo "❌ 未找到可执行的 start.sh"
    exit 1
fi

echo "✅ 所有操作完成，服务已重启"
